﻿/**
 * Number相关操作
 * @namespace Number
 * @name core.Number
 * @static
 */
core.Number = {
  /**
   * 对目标数字进行0补齐处理
   * @name core.Number.pad
   * @function
   * @grammar core.Number.pad(source, length)
   * @param {number} source 需要处理的数字
   * @param {number} length 需要输出的长度
   *
   * @return {string} 对目标数字进行0补齐处理后的结果
   */
  pad: function (source, length) {
    var pre = "",
      negative = (source < 0),
      string = String(Math.abs(source));
    if (string.length < length) {
      pre = (new Array(length - string.length + 1)).join('0');
    }
    return (negative ? "-" : "") + pre + string;
  },
  /**
   * 产生一个指定区间的随机数
   * @name core.Number.random
   * @function
   * @grammar core.Number.random([min, ]max)
   * @param {number} min 随机数的最小取值
   * @param {number} max 随机数的最大取值
   * @ remark 如果传入1个参数，则该参数为max，产生0~max之间的值；如果传入2个参数，则产生min~max之间的值
   *
   * @return {number} 产生的随机数
   */
  random: function (min, max) {
    if (max == null) {
      max = min;
      min = 0;
    }
    return Math.floor(min + Math.random() * (max - min));
  }
};
